A Domain-Specific Language and Editor for Parallel Particle Methods
نویسندگان
چکیده
Domain-specific languages (DSLs) are of increasing importance in scientific high-performance computing to reduce development costs, raise the level of abstraction and, thus, ease scientific programming. However, designing DSLs is not easy, as it requires knowledge of the application domain and experience in language engineering and compilers. Consequently, many DSLs follow a weak approach using macros or text generators, which lack many of the features that make a DSL comfortable for programmers. Some of these features—e.g., syntax highlighting, type inference, error reporting—are easily provided by language workbenches, which combine language engineering techniques and tools in a common ecosystem. In this paper, we present the Parallel Particle-Mesh Environment (PPME), a DSL and development environment for numerical simulations based on particle methods and hybrid particle-mesh methods. PPME uses the Meta Programming System (MPS), a projectional language workbench. PPME is the successor of the Parallel Particle-Mesh Language, a Fortran-based DSL that uses conventional implementation strategies. We analyze and compare both languages and demonstrate how the programmer’s experience is improved using static analyses and projectional editing, i.e., code-structure editing, constrained by syntax, as opposed to free-text editing. We present an explicit domain model for particle abstractions and the first formal type system for particle methods.
منابع مشابه
A A Domain-Specific Language and Editor for Parallel Particle Methods
Domain-specific languages (DSLs) are of increasing importance in scientific high-performance computing to reduce development costs, raise the level of abstraction and, thus, ease scientific programming. However, designing and implementing DSLs is not an easy task, as it requires knowledge of the application domain and experience in language engineering and compilers. Consequently, many DSLs fol...
متن کاملProceedings of the 3rd Workshop on Domain-Specific Language Design and Implementation (DSLDI 2015)
We present our previous and current work on the parallel particle-mesh language PPML—a DSLfor parallel numerical simulations using particle methods and hybrid particle-mesh methods inscientific computing.
متن کاملControl Structures for Parallel Computing in NUT
Specification language of NUT has been recently extended with functions for distributed computing. This extension can be used for developing a collection of control structures for parallel compositional programming. The purpose of this thesis is to support distributed and coarse grained parallel computing in the NUT system, on the basis of the rNUT distributed programming toolkit. This work con...
متن کاملLeveraging Executable Language Engineering for Domain-Specific Transformation Languages (Position Paper)
An increasing number of domain-specific transformation languages (DSTLs) are used to define model transformations in specific contexts. This shift led to many approaches to define new DSTLs and associated tools, either through frameworks or complete generative approachs. In parallel, the fields of language engineering and model execution have seen the development of many approaches to efficient...
متن کاملOn Leveraging Executable Language Engineering for Domain-Specific Transformation Languages
An increasing number of domain-specific transformation languages (DSTLs) are used to define model transformations in specific contexts. This shift led to many approaches to define new DSTLs and associated tools, either through frameworks or complete generative approachs. In parallel, the fields of language engineering and model execution have seen the development of many approaches to efficient...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- CoRR
دوره abs/1704.00032 شماره
صفحات -
تاریخ انتشار 2017